home *** CD-ROM | disk | FTP | other *** search
Wrap
AMOS Source Code | 1999-07-11 | 5.7 KB | 206 lines
' SubSlink v1.2 by Vettorello Marco 11/07/1999 ' ' vettorel@psy.unipd.it ' ' freeware version ' You can change,use,modify,spread this code as you like ' ' this my last version. Development is over. ' Set Buffer 4 'Load "Work:AMOS_Pro/My_Program/Slink/SUBSlinkv2.abk",20 'Load "Work:AMOS_Pro/My_Program/VOCabo/progress.abk",21 Dim FB(4) Dim TB(4) Dim SUB$(4) Global FB(),TB(),MESS$,INFO$ Global SUB$(),BYTES,BYTES$,FILE$,SRG$ Extension_24_0080 0 Extension_24_02C8 Extension_24_0992 True,True Extension_24_0018 1,1,20 Extension_24_03D6 Extension_24_0402 1,"SubSlink tool v1.2","SubSlink v1.2 �1997-1999 Vettorello Marco" MESS$="Chose a file." Extension_24_009E 1,8,0,Varptr(MESS$) For X=1 To 4 FB(X)=0 TB(X)=0 SUB$(X)="" Next FILE$="" For X=14 To 21 Extension_24_009E 1,X,0,0 Next For X=4 To 7 Extension_24_009E 1,X,-1,1 Next For X=14 To 21 Extension_24_009E 1,X,-1,1 Next For X=0 To 3 Extension_24_009E 1,X,0,Varptr(MESS$) Next INFO$="Waiting for comands." Extension_24_009E 1,12,0,Varptr(INFO$) On Error Proc ERRH Do A= Extension_24_0034 If A=4 SUB$(1)= Extension_24_0162("Choose destination file","","","~(#?.info)") If Extension_24_0178 <>"" Extension_24_009E 1,3,0,Varptr(SUB$(1)) Extension_24_009E 1,14,-1,0 Extension_24_009E 1,15,-1,0 Extension_24_009E 1,5,-1,0 End If Else If A=5 SUB$(2)= Extension_24_0162("Choose destination file","","","~(#?.info)") If Extension_24_0178 <>"" Extension_24_009E 1,0,0,Varptr(SUB$(2)) Extension_24_009E 1,16,-1,0 Extension_24_009E 1,17,-1,0 Extension_24_009E 1,6,-1,0 End If Else If A=6 SUB$(3)= Extension_24_0162("Choose destination file","","","~(#?.info)") If Extension_24_0178 <>"" Extension_24_009E 1,1,0,Varptr(SUB$(3)) Extension_24_009E 1,18,-1,0 Extension_24_009E 1,19,-1,0 Extension_24_009E 1,7,-1,0 End If Else If A=7 SUB$(4)= Extension_24_0162("Choose destination file","","","~(#?.info)") If Extension_24_0178 <>"" Extension_24_009E 1,2,0,Varptr(SUB$(4)) Extension_24_009E 1,20,-1,0 Extension_24_009E 1,21,-1,0 End If Else If A=9 _SETSOURCE Else If A=10 If Exist(FILE$)=True _SUBSLINK End If Else If A=13 _RESET Else If A=-1 or A=11 _QUIT Else If A=-2 Repeat If Extension_24_0070(1)=1 and Extension_24_0070(2)=1 _SETSOURCE End If If Extension_24_0070(1)=1 and Extension_24_0070(2)=3 ABOUT= Extension_24_0150(" ABOUT","SubSlink v1.2"+Chr$(10)+"by Vettorello Marco "+Chr$(10)+"� 1997-1999","Ok") End If If Extension_24_0070(1)=1 and Extension_24_0070(2)=5 _QUIT End If Until Extension_24_0070(4)=False End If Loop Procedure _QUIT QUIT= Extension_24_0150(" Message","Sure ot quit?","Yes|No") If QUIT=1 Extension_24_0130 End End If End Proc Procedure _RESET For X=1 To 4 FB(X)=0 TB(X)=0 SUB$(X)="" FILE$="" Next For X=14 To 21 Extension_24_009E 1,X,0,0 Next For X=4 To 7 Extension_24_009E 1,X,-1,1 Next For X=14 To 21 Extension_24_009E 1,X,-1,1 Next For X=0 To 3 Extension_24_009E 1,X,0,Varptr(MESS$) Next INFO$="Re-initialized!" Extension_24_009E 1,12,0,Varptr(INFO$) Extension_24_009E 1,8,0,Varptr(MESS$) End Proc Procedure _SETSOURCE On Error Proc ERRH FILE$= Extension_24_0162("Choose the SOURCE file","","","~(#?.info)") If Extension_24_0178 <>"" Extension_24_009E 1,8,0,Varptr(FILE$) Open In 1,FILE$ BYTES=Lof(1) Close BYTES$=Str$(BYTES) INFO$="The file is "+BYTES$+" bytes long." Extension_24_009E 1,12,0,Varptr(INFO$) Extension_24_009E 1,4,-1,0 SRG$= Extension_24_0178 End If End Proc Procedure _SUBSLINK On Error Proc ERRH FB(1)= Extension_24_0368(1,14) TB(1)= Extension_24_0368(1,15) FB(2)= Extension_24_0368(1,16) TB(2)= Extension_24_0368(1,17) FB(3)= Extension_24_0368(1,18) TB(3)= Extension_24_0368(1,19) FB(4)= Extension_24_0368(1,20) TB(4)= Extension_24_0368(1,21) For CHK=1 To 4 If FB(CHK)<0 FB(CHK)=0 Else If TB(CHK)>BYTES TB(CHK)=BYTES Else If FB(CHK)>TB(CHK) FB(CHK)=0 : TB(CHK)=1 End If Next INFO$="Loading file into memory." Extension_24_009E 1,12,0,Varptr(INFO$) Extension_24_0024 2,1,21, Extension_24_00F8 , Extension_24_010A Extension_24_0402 2,"Slinking file","" INFO$=" Slinking file in progress..." Extension_24_009E 2,1,0,Varptr(INFO$) Open In 5,FILE$ For A=1 To 4 If SUB$(A)<>"" LLFF=TB(A)-FB(A) If Chip Free>LLFF or Fast Free>LLFF Reserve As Work 7,LLFF Pof(5)=FB(A) Sload 5 To Start(7),LLFF Bsave SUB$(A)+"_"+Str$(A)-" ",Start(7) To Start(7)+LLFF INFO$="Saving slinked part: "+Str$(A) Extension_24_009E 1,12,0,Varptr(INFO$) Extension_24_009E 2,0,0,A*25 Erase 7 Else REQ= Extension_24_0150(" Error!","Memory overflow.","Ops") End If End If Next Extension_24_009E 2,0,0,100 Erase 7 Close DAM= Extension_24_0042(2) INFO$="Operation succesfully terminated!" Extension_24_009E 1,12,0,Varptr(INFO$) REQ= Extension_24_0150(" Message","Operation terminated.","Ok") End Proc Procedure ERRH ER$=Str$(Errn)+" "+Err$(Errn) A= Extension_24_0150("ERROR!",Chr$(10)+"An error has occoured :"+Chr$(10)+Chr$(10)+ER$+Chr$(10)+Chr$(10)+"Plese contact the author,"+Chr$(10)+"see docs for address.","Contact the author.") Resume Next End Proc